package com.tanhua.dubbo.api;

import com.tanhua.domain.mongo.Video;
import com.tanhua.domain.vo.PageResult;

import java.util.List;

public interface VideosApi {
    /**
     * 保存小视频信息
     *
     * @param video 小视频信息对象
     */
    String save(Video video);

    /**
     * 分页查询小视频列表
     *
     * @param page     页码
     * @param pagesize 查询几条
     * @param userId   给谁推荐的
     * @return 小视频的分页查询结果
     */
    PageResult<Video> findVideoList(int page, int pagesize, long userId);

    /**
     * 小视频-关注用户
     *
     * @param userId       用户id
     * @param followUserId 关注了谁
     */
    void userFocus(Long userId, Long followUserId);

    /**
     * 小视频-取消关注
     *
     * @param userId       用户id
     * @param followUserId 取关了谁
     */
    void userUnFocus(Long userId, Long followUserId);

    /**
     * 分页查询某用户的视频列表
     * @param page 页码
     * @param pagesize 查询几条
     * @param uid 用户id
     * @return 分页查询结果
     */
    PageResult<Video> findByIdVideoList(int page, int pagesize, Long uid);

    /**
     * 根据id查询视频
     * @param videoId 视频id
     * @return
     */
    Video findByid(String videoId);

    /**
     * 根据vid列表查询对应的视频
     * @param vidList vid列表
     * @return 对应的视频
     */
    List<Video> findByVids(List<Long> vidList);
}
